One widely accepted system architecture for personal computers has been the "AT" system architecture. Prior computer systems incorporating the AT system architecture include system buses that implement either the Industry Standard Architecture (ISA) bus or the Extended Industry Standard Architecture (EISA) bus.
The ISA system architecture provides a Direct Memory Access (DMA) protocol that allows blocks of information to be exchanged between an Input/Output (I/O) device and system memory without unnecessarily tying up the resources of the system processor. Wherein the processor initiates DMA transfers, a DMA controller actually manages DMA transfers. When a DMA transfer is complete, the I/O device produces an interrupt to inform the processor. The EISA system architecture is fully compatible with the ISA DMA protocol, but the EISA system architecture also provides enhanced DMA functions. Both the ISA and EISA system architecture's provide multiple DMA "channels," wherein each DMA channel is assigned to a particular I/O device.
A more recent bus architecture is the Peripheral Component Interconnect (PCI) Local Bus architecture. As described by the PCI Local Bus Specification, Revision 2.0 (1993), the PCI Local Bus is a high performance bus that is intended as an interconnect mechanism between highly integrated peripheral controller components, peripheral add-in boards, and processor/memory subsystems.
The PCI Local Bus does not, itself, provide a DMA transfer mechanism. Instead, a computer system that incorporates the PCI Local Bus architecture typically relies on the DMA services of an ISA or EISA bus that is coupled to the PCI Local Bus via a PCI-to-ISA/EISA bus bridge. The bus bridge typically includes a DMA controller that arbitrates DMA requests of local I/O devices coupled to the ISA or EISA bus. Once the DMA controller determines which DMA channel is to be serviced, the bus bridge, as a PCI agent, arbitrates for control of the PCI bus to gain access to system memory and initiate the DMA transfer.
Modern personal computer systems, including mobile computer systems such as laptops, are increasingly incorporating the PCI system architecture. Because of size constraints, mobile computer systems that incorporate both the PCI and ISA/EISA architectures typically do not include ISA/EISA expansion slots. To increase the functionality of a mobile computer system in a desktop environment, many mobile computer system manufacturers provide an optional docking station to which the mobile computer system can be coupled via a PCI-to-PCI bus bridge. A docking station may include ISA/EISA expansion slots that allow for ISA/EISA add-in boards, and it would be desirable to provide a mechanism to allow ISA/EISA DMA agents of a docking station to utilize the DMA services of the mobile computer system.